package com.java.system.common.entity.admin;
/*
import com.joyoung.cloud.security.common.validatedGroup.Add;
import com.joyoung.cloud.security.common.validatedGroup.Modify;*/
import com.java.system.common.validatedGroup.Add;
import com.java.system.common.validatedGroup.Modify;
import com.wordnik.swagger.annotations.ApiModel;
import com.wordnik.swagger.annotations.ApiModelProperty;
/*import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;*/
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Id;
import javax.persistence.Transient;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;

/**
 * 岗位表(SysPosition)实体类
 *
 * @author yangyuwei
 * @since 2019-06-06 14:32:35
 */
@ApiModel(value = "岗位类")
@Data
@Accessors(chain = true)
public class SysPosition implements Serializable {
    private static final long serialVersionUID = -95103356324094050L;
    @ApiModelProperty(value = "主键Id")
    @Id
    @Null(message = "{add_id}" ,groups = {Add.class})
    @NotNull(message = "{modify_id}",groups = {Modify.class})
    private String id;
    //上级职位id
    @ApiModelProperty(value = "父Id")
    private String parentId;
    //职位编码
    @ApiModelProperty(value = "岗位编码")
    private String posCode;
    //职位名称
    @ApiModelProperty(value = "岗位名称")
    @NotBlank(message = "{name_null}")
    @Pattern(regexp = "^[\\s\\S]{1,20}$", message = "{name_rule}")
    private String posName;
    //职位英文名称
    @ApiModelProperty(value = "岗位英文名称")
    @Pattern(regexp = "^$|[a-zA-Z\\s]{1,30}$", message = "{enname_rule}")
    private String posEname;
    //职位级别
    @ApiModelProperty(value = "岗位级别")
    private Integer posLevel;
    //职位id路径，多路径之间用逗号分隔
    @ApiModelProperty(value = "岗位id路径")
    private String path;
    //关联部门id
    @ApiModelProperty(value = "部门id")
    private String orgId;
    //关联公司id
    @ApiModelProperty(value = "公司id")
    private String coId;
    //创建人id
    private String crtUser;
    //创建人名称
    private String crtName;
    //创建时间
    private Date crtTime;
    //最后修改人id
    private String updUser;
    //最后修改人名称
    private String updName;
    //最后修改时间
    private Date updTime;
    //备注
    private String remark;
    //逻辑删除标识：1=删除；0=未删除
    private Integer delFlag;
    
    private String attr1;
    
    private String attr2;
    
    private String attr3;

    //公司
    @Transient
    private SysCompany company;
    @Transient
    private SysOrganization organization;



}